#define  _CRT_SECURE_NO_WARNINGS

//#include <stdio.h>
//#include <assert.h>
//
//size_t my_strlen(const char* str)
//{
//	assert(str != NULL);
//	if (*str != '\0')
//	{
//		return 1 + my_strlen(++str);
//	}
//	else
//	{
//		return 0;
//	}
//}
//
//int main()
//{
//	char str[] = "Are you ok?";
//	size_t len = my_strlen(str);
//	printf("%zd\n", len);
//	return 0;
//}

//#include <stdio.h>
//#include <assert.h>
//
//size_t my_strlen(char* str)
//{
//	assert(str != NULL);
//	if (*str != '\0')
//	{
//		return 1 + my_strlen(++str);
//	}
//	else
//	{
//		return 0;
//	}
//}
//
//int main()
//{
//	char str[] = "Are you ok?";
//	size_t len = my_strlen(str);
//	printf("%zd\n", len);
//	return 0;
//}

//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
//	char str1[] = "what can I say? man.";
//	char str2[50] = { 0 };
//	strcpy(str2, str1);
//	printf("%s\n", str2);
//	printf("%zd\n", strlen(str2));
//	return 0;
//}

//#include <stdio.h>
//#include <assert.h>
//#include <string.h>
//
//char* my_strcpy(char* dest, const char* sour)
//{
//	assert(dest != NULL);
//	assert(sour != NULL);
//	char* pd = dest;
//	while (*dest++ = *sour++);
//	return pd;
//}
//
//int main()
//{
//	char str1[] = "what can I say? man.";
//	char str2[50] = { 0 };
//	char* ps = my_strcpy(str2, str1);
//	printf("%s\n", ps);
//	printf("%zd\n", strlen(str2));
//	return 0;
//}

#include <stdio.h>
#include <assert.h>

char* my_strcat(char* dest, const char* sour)
{
	assert(dest != NULL);
	assert(sour != NULL);

}

int main()
{
	char str1[20] = "hello ";
	char str2[] = "world";
	char *ps = my_strcat(str1, str2);
	printf("%s\n", ps);
	return 0;
}

